package com.ruoyi.net.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.ArrayList;
import java.util.List;

/**
 * 网元-OSPFV3接口配置对象 element_ospfv3_port
 * 
 * @author net
 * @date 2024-11-17
 */
public class ElementOspfv3Port extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private String id;

    /** 网元id */
    @Excel(name = "网元id")
    private String elementId;

    /** 接口名 */
    @Excel(name = "接口名")
    private String portName;

    /** OSPF进程ID */
    @Excel(name = "OSPF进程ID")
    private String ospfId;

    /** 域ID */
    @Excel(name = "域ID")
    private String domainId;

    /** 接口实例号 */
    @Excel(name = "接口实例号")
    private String portDemo;

    /** 接口代价 */
    @Excel(name = "接口代价")
    private String portCost;

    /** 网络类型 */
    @Excel(name = "网络类型")
    private String netType;

    /** 优先级 */
    @Excel(name = "优先级")
    private String level;

    /** 保持时间（秒） */
    @Excel(name = "保持时间", readConverterExp = "秒=")
    private String keepTime;

    /** 重传间隔（秒） */
    @Excel(name = "重传间隔", readConverterExp = "秒=")
    private String retryInterval;

    /** 更新间隔（秒） */
    @Excel(name = "更新间隔", readConverterExp = "秒=")
    private String updateInterval;

    /** HELLO发送间隔（秒） */
    @Excel(name = "HELLO发送间隔", readConverterExp = "秒=")
    private String helloInterval;

    /** IPSEC策略 */
    @Excel(name = "IPSEC策略")
    private String ipsec;

    /** 抑制使能 */
    @Excel(name = "抑制使能")
    private String holdEnable;

    /** 邻居配置 */
    @Excel(name = "邻居配置")
    private String neightbConfig;

    /** BFD使能 */
    @Excel(name = "BFD使能")
    private String bfdEnable;

    /** BFD属性 */
    @Excel(name = "BFD属性")
    private String bfdAttribute;

    /** 忽略MTU */
    @Excel(name = "忽略MTU")
    private String ignoreMtu;

    private List<ElementOspfv3PortNeighb> ospfv3NeighborList = new ArrayList<>();

    /** 条目状态（0未激活 1已激活） */
    @Excel(name = "条目状态", readConverterExp = "0=未激活,1=已激活")
    private String status;

    /** 删除标记（0正常 2删除） */
    private String delFlag;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setElementId(String elementId) 
    {
        this.elementId = elementId;
    }

    public String getElementId() 
    {
        return elementId;
    }
    public void setPortName(String portName) 
    {
        this.portName = portName;
    }

    public String getPortName() 
    {
        return portName;
    }
    public void setOspfId(String ospfId) 
    {
        this.ospfId = ospfId;
    }

    public String getOspfId() 
    {
        return ospfId;
    }
    public void setDomainId(String domainId) 
    {
        this.domainId = domainId;
    }

    public String getDomainId() 
    {
        return domainId;
    }
    public void setPortDemo(String portDemo) 
    {
        this.portDemo = portDemo;
    }

    public String getPortDemo() 
    {
        return portDemo;
    }
    public void setPortCost(String portCost) 
    {
        this.portCost = portCost;
    }

    public String getPortCost() 
    {
        return portCost;
    }
    public void setNetType(String netType) 
    {
        this.netType = netType;
    }

    public String getNetType() 
    {
        return netType;
    }
    public void setLevel(String level) 
    {
        this.level = level;
    }

    public String getLevel() 
    {
        return level;
    }
    public void setKeepTime(String keepTime) 
    {
        this.keepTime = keepTime;
    }

    public String getKeepTime() 
    {
        return keepTime;
    }
    public void setRetryInterval(String retryInterval) 
    {
        this.retryInterval = retryInterval;
    }

    public String getRetryInterval() 
    {
        return retryInterval;
    }
    public void setUpdateInterval(String updateInterval) 
    {
        this.updateInterval = updateInterval;
    }

    public String getUpdateInterval() 
    {
        return updateInterval;
    }
    public void setHelloInterval(String helloInterval) 
    {
        this.helloInterval = helloInterval;
    }

    public String getHelloInterval() 
    {
        return helloInterval;
    }
    public void setIpsec(String ipsec) 
    {
        this.ipsec = ipsec;
    }

    public String getIpsec() 
    {
        return ipsec;
    }
    public void setHoldEnable(String holdEnable) 
    {
        this.holdEnable = holdEnable;
    }

    public String getHoldEnable() 
    {
        return holdEnable;
    }
    public void setNeightbConfig(String neightbConfig) 
    {
        this.neightbConfig = neightbConfig;
    }

    public String getNeightbConfig() 
    {
        return neightbConfig;
    }
    public void setBfdEnable(String bfdEnable) 
    {
        this.bfdEnable = bfdEnable;
    }

    public String getBfdEnable() 
    {
        return bfdEnable;
    }
    public void setBfdAttribute(String bfdAttribute) 
    {
        this.bfdAttribute = bfdAttribute;
    }

    public String getBfdAttribute() 
    {
        return bfdAttribute;
    }
    public void setIgnoreMtu(String ignoreMtu) 
    {
        this.ignoreMtu = ignoreMtu;
    }

    public String getIgnoreMtu() 
    {
        return ignoreMtu;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public List<ElementOspfv3PortNeighb> getOspfv3NeighborList() {
        return ospfv3NeighborList;
    }

    public void setOspfv3NeighborList(List<ElementOspfv3PortNeighb> ospfv3NeighborList) {
        this.ospfv3NeighborList = ospfv3NeighborList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("elementId", getElementId())
            .append("portName", getPortName())
            .append("ospfId", getOspfId())
            .append("domainId", getDomainId())
            .append("portDemo", getPortDemo())
            .append("portCost", getPortCost())
            .append("netType", getNetType())
            .append("level", getLevel())
            .append("keepTime", getKeepTime())
            .append("retryInterval", getRetryInterval())
            .append("updateInterval", getUpdateInterval())
            .append("helloInterval", getHelloInterval())
            .append("ipsec", getIpsec())
            .append("holdEnable", getHoldEnable())
            .append("neightbConfig", getNeightbConfig())
            .append("bfdEnable", getBfdEnable())
            .append("bfdAttribute", getBfdAttribute())
            .append("ignoreMtu", getIgnoreMtu())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
